#ifndef ELECCION_H_
#define ELECCION_H_
#include "IEntidad.h"
#include "Distrito.h"
#include "Cargo.h"
#include <string>

using namespace std;

namespace Entidades {

class Eleccion: public IEntidad {

private:

	unsigned int fecha;
	Cargo *cargo;
	vector<Distrito*>* distritos;

public:

	Eleccion();
	Eleccion(Eleccion* eleccion);
	Eleccion(const Eleccion& eleccion);

	Cargo *getCargo() const;
	int getFecha() const;
	vector<Distrito*>* getDistritos() const;

	void setCargo(string nombreDelcargo);
	void setFecha(int fecha);
	void agregarDistrito(string distrito);
	void removerDistrito(string distrito);

	virtual void hidratarse(char* buffer, unsigned int tamanioDelBuffer);
	virtual char* construirBuffer();
	virtual unsigned int getTamanioDelBuffer();
	virtual void marcarComoBorrado();

	virtual ~Eleccion();
};

}
#endif /* ELECCION_H_ */
